/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.velocityme.session;

import com.velocityme.entity.ChangeDelta;
import com.velocityme.entity.TaskStateMachine;
import java.util.Collection;
import javax.ejb.Local;

/**
 *
 * @author rcrida
 */
@Local
public interface TaskStateMachineLocal {

    TaskStateMachine createTaskStateMachine(KeyLocal key, TaskStateMachine taskStateMachine);

    void editTaskStateMachine(KeyLocal key, TaskStateMachine taskStateMachine);

    void logCreate(final TaskStateMachine taskStateMachine, ChangeDelta changeDelta);

    void logEdit(final TaskStateMachine taskStateMachine, final TaskStateMachine current, ChangeDelta changeDelta);

    Collection<TaskStateMachine> findAllTaskStateMachines(KeyLocal key);

    TaskStateMachine findTaskStateMachine(KeyLocal key, Long taskStateMachineId);
    
}
